#pragma warning disable 108
using System;
using System.Runtime.InteropServices;
using System.Collections.Generic;
using Cephei;
using Cephei.Core;
using Cephei.Core.Generic;
using Microsoft.FSharp.Core;
using Cephei.QL.Times;
namespace Cephei.QL.Times.Calendars
{
    /// <summary> 
	/// ! Banking holidays:
	/// <ul>
	/// <li>Saturdays</li>
	/// <li>Sundays</li>
	/// <li>New Year's Day, January 1st</li>
	/// <li>Tiradentes's Day, April 21th</li>
	/// <li>Labour Day, May 1st</li>
	/// <li>Independence Day, September 7th</li>
	/// <li>Nossa Sra. Aparecida Day, October 12th</li>
	/// <li>All Souls Day, November 2nd</li>
	/// <li>Republic Day, November 15th</li>
	/// <li>Christmas, December 25th</li>
	/// <li>Passion of Christ</li>
	/// <li>Carnival</li>
	/// <li>Corpus Christi</li>
	/// </ul>  Holidays for the Bovespa stock exchange
	/// <ul>
	/// <li>Saturdays</li>
	/// <li>Sundays</li>
	/// <li>New Year's Day, January 1st</li>
	/// <li>Sao Paulo City Day, January 25th</li>
	/// <li>Tiradentes's Day, April 21th</li>
	/// <li>Labour Day, May 1st</li>
	/// <li>Revolution Day, July 9th</li>
	/// <li>Independence Day, September 7th</li>
	/// <li>Nossa Sra. Aparecida Day, October 12th</li>
	/// <li>All Souls Day, November 2nd</li>
	/// <li>Republic Day, November 15th</li>
	/// <li>Black Consciousness Day, November 20th (since 2007)</li>
	/// <li>Christmas, December 25th</li>
	/// <li>Passion of Christ</li>
	/// <li>Carnival</li>
	/// <li>Corpus Christi</li>
	/// <li>the last business day of the year</li>
	/// </ul>  \ingroup calendars  \test the correctness of the returned results is tested against a list of known holidays.
	/// </summary>
    [Guid ("2653EC4D-0CF9-4ac1-BE7E-713A084AD920"),ComVisible(true)]
	public interface IBrazil : Cephei.QL.Times.ICalendar
	{
		///////////////////////////////////////////////////////////////
        // Methods
        //
    }   

    /// <summary> 
	/// ! Banking holidays:
	/// <ul>
	/// <li>Saturdays</li>
	/// <li>Sundays</li>
	/// <li>New Year's Day, January 1st</li>
	/// <li>Tiradentes's Day, April 21th</li>
	/// <li>Labour Day, May 1st</li>
	/// <li>Independence Day, September 7th</li>
	/// <li>Nossa Sra. Aparecida Day, October 12th</li>
	/// <li>All Souls Day, November 2nd</li>
	/// <li>Republic Day, November 15th</li>
	/// <li>Christmas, December 25th</li>
	/// <li>Passion of Christ</li>
	/// <li>Carnival</li>
	/// <li>Corpus Christi</li>
	/// </ul>  Holidays for the Bovespa stock exchange
	/// <ul>
	/// <li>Saturdays</li>
	/// <li>Sundays</li>
	/// <li>New Year's Day, January 1st</li>
	/// <li>Sao Paulo City Day, January 25th</li>
	/// <li>Tiradentes's Day, April 21th</li>
	/// <li>Labour Day, May 1st</li>
	/// <li>Revolution Day, July 9th</li>
	/// <li>Independence Day, September 7th</li>
	/// <li>Nossa Sra. Aparecida Day, October 12th</li>
	/// <li>All Souls Day, November 2nd</li>
	/// <li>Republic Day, November 15th</li>
	/// <li>Black Consciousness Day, November 20th (since 2007)</li>
	/// <li>Christmas, December 25th</li>
	/// <li>Passion of Christ</li>
	/// <li>Carnival</li>
	/// <li>Corpus Christi</li>
	/// <li>the last business day of the year</li>
	/// </ul>  \ingroup calendars  \test the correctness of the returned results is tested against a list of known holidays. Factory
	/// </summary>
   	[ComVisible(true)]
    public interface IBrazil_Factory 
    {
        ///////////////////////////////////////////////////////////////
        // Factory methods
        //
        /// <summary> 
		/// 
		/// </summary>
	    IBrazil Create (Microsoft.FSharp.Core.FSharpOption<QL.Times.Calendars.Brazil.MarketEnum> market);
    }
}

